
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Map;
//import java.util.HashMap;
import java.util.SortedMap;
import java.util.TreeMap;


public class MapExample {
	
	public static void main(String[] args) {

		Scanner input = null;
		try {
			input = new Scanner(new File(args[0]));
		}
		catch (FileNotFoundException e) {
			System.out.println("Could not read input file: " + args[0]);
			return;
		}
		
		input.useDelimiter("(\\s|,|\\.)+");

		SortedMap words = new TreeMap();

		while (input.hasNext()) {
			String w = input.next();

			if (words.containsKey(w)) {
				Integer count = (Integer)words.get(w);
				int newCount = count.intValue()+1;
				words.put(w, new Integer(newCount));
			}
			else {
				words.put(w, new Integer(1));
			}
		}

		input.close();
		
		System.out.println(words.toString());
		System.out.println("");
		System.out.println(words.keySet().toString());
		System.out.println("");
		System.out.println(words.values().toString());
		System.out.println("");
		System.out.println(words.entrySet().toString());
		
		System.out.println("");
		System.out.println(words.firstKey());
		System.out.println("");
		System.out.println(words.lastKey());
	}
}
